/*******************************************************************************************
 *  Vertical.h
 *
 *  Creating and managing Vertical object structures.
 *
 *******************************************************************************************/







/*******************************************************************************************
 *  INCLUDES :
 *******************************************************************************************/
#include "BulletMLConsts.h"
#include "BulletMLTypes.h"







/*******************************************************************************************
 *  TYPE definitions :
 *******************************************************************************************/

/***************************************************/
/* The different type a VERTICAL object can have : */
/***************************************************/
#ifndef _VRT_TYPE_ENUM_
#define _VRT_TYPE_ENUM_
typedef enum {absolute_vrt, relative_vrt, sequence_vrt} VrtType;
#endif



/***************************************************/
/* The VERTICAL object structure :                 */
/***************************************************/
#ifndef _VERTICAL_STRUCT_
#define _VERTICAL_STRUCT_
typedef struct {

	ObjType		otype;						/* The object's type, as in ...   */
											/* ... the BML type enum.         */

	VrtType		type;						/* The type of vertical accel.    */

	char		*value;						/* The vertical acceleration ...  */
											/* ... value.                     */

} Vertical;
#endif







/*******************************************************************************************
 *  Function PROTOTYPES :
 *******************************************************************************************/

/* CONSTRUCTOR and DESTRUCTOR : */
Vertical *newVertical(void);		/* Creates an empty Vertical object strucutre. */
void freeVertical(Vertical *v);		/* Destroys a Vertical object structure.       */ 


/* FILLING the Vertical object structure : */
void setVerticalType(Vertical *v, VrtType t);
void setVerticalValue(Vertical *v, char *value);
